home *** CD-ROM | disk | FTP | other *** search
/ QRZ! Ham Radio 8 / QRZ Ham Radio Callsign Database - Volume 8.iso / mac / files / t_sys5 / bm_cpio.gz / unixbm.cpio / bm.h next >
C/C++ Source or Header  |  1994-07-11  |  3KB  |  115 lines

  1. /* bm.h -- definitons for bm.c that aren't included elsewhere */
  2.  
  3. /* types of config file lines that we know how to handle */
  4. #define NONE    0
  5. #define MAXLET    1
  6. #define SMTP    2
  7. #define HOST    3
  8. #define USER    4
  9. #define EDIT    6
  10. #define NAME    7
  11. #define REPLY    8
  12. #define MBOX    9
  13. #define RECORD    10
  14. #define SCREEN    11
  15. #define FOLDER    12
  16. #define MQUEUE    13
  17. #define ALIAS    14
  18.  
  19. #ifdef UNIX
  20. #define    RUNCOM    ".bmrc"        /* config file */
  21. #else
  22. #define    RUNCOM    "/bm.rc"        /* config file */
  23. #endif
  24.  
  25. #define WORK    "*.wrk"        /* work file type */
  26. #ifdef MSDOS
  27. #define    MAXROWS        25    /* number of lines on display */
  28. #define    MAXCOL        80    /* number of lines on display */
  29. #else
  30. #define    MAXROWS        24    /* number of lines on display */
  31. #define    MAXCOL        80    /* number of lines on display */
  32. #endif
  33.  
  34. /* message status */
  35. #define    DELETE    1
  36. #define    READ    2
  37.  
  38. #define NLET    300            /* default size of letter array */
  39. #define MAXARGS    16
  40.  
  41. #define SLINELEN    64
  42. #define LINELEN        256
  43.  
  44. /* a mailbox list entry */
  45. struct let {
  46.     long    start;
  47.     long    size;
  48.     int    status;
  49. };
  50.  
  51. /* address structure */
  52. struct addr {
  53.     struct addr *next;
  54.     char *user;
  55.     char *host;
  56.     int sent;
  57. };
  58.  
  59. /* token used for a string and its token */
  60. struct token {
  61.     char *str;
  62.     char type;
  63. };
  64.  
  65. /* global definitions */
  66. extern char
  67.      *hostname,        /* name of this host from rc file */
  68.     *username,        /* name of this user from rc file */
  69.     *fullname,        /* name of this user from rc file */
  70.     *replyto,        /* return address fro reply-to */
  71.     *maildir,        /* default mail directory */
  72.     *editor,        /* user's favorite editor program */
  73.     *savebox,        /* user's mbox for the s command */
  74.     *record,        /* place to store a copy of snet mail for you */
  75.     *folder,        /* directory used for save and write commands */
  76.     *mfilename;        /* for the -f option */
  77.  
  78. extern unsigned maxlet;        /* max messages */
  79. extern int current;        /* the current message number */
  80. extern int nmsgs;        /* number of messages in this mail box */
  81. extern int newmsgs;        /* number of new messages in mail box */
  82. extern int change;        /* mail file changed */
  83. extern FILE *mfile;        /* mail data file pointer */
  84. extern int tty;            /* is standard in a tty ? */
  85. extern int qflag;        /* just queue no headers */
  86. extern int mlock(), rmlock();
  87. extern struct addr *make_tolist();
  88. extern long get_msgid();
  89. extern char mailqdir[];
  90. extern char mailspool[];
  91. extern char *mqueue;
  92. extern char alias[];
  93. extern char notename[];
  94. extern char notefile[];
  95. extern char nomail[];
  96. extern char badmsg[];
  97. extern struct let *mbox;
  98. extern char *fgets(),*gets(),*savestr();
  99. extern char *malloc(),*calloc();
  100. extern void exit(),perror();
  101. extern int parse(),htype();
  102. extern int getrch(), screen_clear(), setrawmode(), setcookedmode(), isnewmail();
  103.  
  104. /* Define null object pointer in case stdio.h isn't included */
  105. #ifndef    NULL
  106. /* General purpose NULL pointer */
  107. #define    NULL (void *)0
  108. #endif
  109. #define    NULLCHAR (char *)0    /* Null character pointer */
  110. #define    NULLFP     (int (*)())0    /* Null pointer to function returning int */
  111. #define    NULLVFP     (void (*)())0    /* Null pointer to function returning void */
  112. #define    NULLFILE (FILE *)0    /* Null file pointer */
  113. #define    NULLADDR (struct addr *)0    /* Null address */
  114.  
  115.